/**
 * @desc 支付
 * @param type  类型 wxApplets-微信小程序 wxWeb-微信网页 wxApp-微信app aliApp-支付宝app
 * @param params  参数
 */
function payment(params) {
	// App
	//#ifdef APP-PLUS
	var platform = 'app'
	//#endif
	// H5
	//#ifdef H5
	var platform = 'h5'
	//#endif
	// 微信小程序
	//#ifdef MP-WEIXIN
	var platform = 'miniapp'
	//#endif
	if (platform == 'app') {

	}

	if (platform == 'miniapp') { // 微信小程序支付
		return miniApp('wxpay', params);
	} else if (type == 'wx-h5') { // 微信网页支付
		return wxWeb(params);
	} else if (type == 'wx-app') { // 微信app支付
		return app('wxpay', params);
	} else if (type == 'ali-app') { // 支付宝app支付
		return app('alipay', params);
	}
}


/**
 * @desc 小程序支付
 * @param type  平台
 * @param params  参数
 */
function miniApp(type, params) {
	return new Promise((resolve, reject) => {
		uni.requestPayment({
			provider: type,
			timeStamp: params.timeStamp,
			nonceStr: params.nonceStr,
			package: params.package,
			signType: params.signType,
			paySign: params.paySign,
			success: function(res) {
				resolve({
					msg: '支付成功',
				})
			},
			fail: function(err) {
				if (err.errMsg == 'requestPayment:fail cancel') {
					reject({
						msg: '您已取消支付',
					})
				} else {
					reject({
						msg: '支付失败，请重试',
					})
				}
			}
		});
	})
}


/**
 * @desc app支付
 * @param type  类型 wxpay-微信 alipay-支付宝
 * @param params  参数
 */
function app(type, payInfo) {
	return new Promise((resolve, reject) => {
		uni.requestPayment({
			"provider": type,
			"orderInfo": payInfo,
			success: function(res) {
				resolve({
					msg: '支付成功',
				})
			},
			fail: function(err) {
				reject({
					msg: '支付失败，请重试',
				})
			}
		});
	})
}


export default {
	payment,
}
